home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / cg.lha / cg / m2c / Tree.h < prev    next >
C/C++ Source or Header  |  1992-11-24  |  22KB  |  736 lines

  1. #define DEFINITION_Tree
  2.  
  3. #ifndef DEFINITION_IO
  4. #include "IO.h"
  5. #endif
  6.  
  7. #ifndef DEFINITION_IO
  8. #include "IO.h"
  9. #endif
  10.  
  11. #ifndef DEFINITION_Strings
  12. #include "Strings.h"
  13. #endif
  14.  
  15. #ifndef DEFINITION_StringMem
  16. #include "StringMem.h"
  17. #endif
  18.  
  19. #ifndef DEFINITION_Idents
  20. #include "Idents.h"
  21. #endif
  22.  
  23. #ifndef DEFINITION_Texts
  24. #include "Texts.h"
  25. #endif
  26.  
  27. #ifndef DEFINITION_Sets
  28. #include "Sets.h"
  29. #endif
  30.  
  31. #ifndef DEFINITION_Relations
  32. #include "Relations.h"
  33. #endif
  34.  
  35. #ifndef DEFINITION_Positions
  36. #include "Positions.h"
  37. #endif
  38.  
  39. extern CARDINAL Tree_ErrorCount;
  40. #define Tree_Virtual    0
  41. #define Tree_Computed    1
  42. #define Tree_Reverse    2
  43. #define Tree_Write    3
  44. #define Tree_Read    4
  45. #define Tree_Inherited    5
  46. #define Tree_Synthesized    6
  47. #define Tree_Input    7
  48. #define Tree_Output    8
  49. #define Tree_Tree    9
  50. #define Tree_Parameter    10
  51. #define Tree_Stack    11
  52. #define Tree_Variable    12
  53. #define Tree_Demand    13
  54. #define Tree_Funct    14
  55. #define Tree_Ignore    15
  56. #define Tree_Thread    17
  57. #define Tree_Test    18
  58. #define Tree_Left    19
  59. #define Tree_Right    20
  60. #define Tree_CopyDef    21
  61. #define Tree_CopyUse    22
  62. #define Tree_NonBaseComp    23
  63. #define Tree_MultInhComp    24
  64. #define Tree_First    25
  65. #define Tree_Dummy    26
  66. #define Tree_Def    27
  67. #define Tree_Use    28
  68. #define Tree_ChildUse    29
  69. #define Tree_ParentUse    30
  70. #define Tree_Generated    31
  71. #define Tree_Top    0
  72. #define Tree_Intermediate    1
  73. #define Tree_Low    2
  74. #define Tree_Referenced    3
  75. #define Tree_Reachable    4
  76. #define Tree_Nonterminal    5
  77. #define Tree_Terminal    6
  78. #define Tree_Explicit    7
  79. #define Tree_Implicit    8
  80. #define Tree_Trace    9
  81. #define Tree_String    10
  82. #define Tree_HasSelector    11
  83. #define Tree_HasChildren    12
  84. #define Tree_HasAttributes    13
  85. #define Tree_HasActions    14
  86. #define Tree_Abstract    16
  87. #define Tree_Mark    17
  88. #define Tree_HasOutput    18
  89. #define Tree_cLNC    0
  90. #define Tree_cWAG    1
  91. #define Tree_cSNC    2
  92. #define Tree_cDNC    3
  93. #define Tree_cLordered    4
  94. #define Tree_cOAG    5
  95. #define Tree_cSweep    6
  96. #define Tree_cALT    7
  97. #define Tree_cLAG    8
  98. #define Tree_cRAG    9
  99. #define Tree_cSAG    10
  100. typedef struct Tree_1 {
  101.     SHORTCARD ToBit, ToAttr;
  102. } Tree_tBitInfo;
  103. typedef struct Tree_2 {
  104.     Tree_tBitInfo A[1000000 - 1 + 1];
  105. } *Tree_tBitIndex;
  106. typedef struct Tree_6 *Tree_tInstancePtr;
  107. typedef struct Tree_3 *Tree_tSetOfRelPtr;
  108. typedef struct Tree_3 {
  109.     Relations_tRelation Relation;
  110.     Tree_tSetOfRelPtr Next;
  111. } Tree_tSetOfRel;
  112. typedef SHORTCARD Tree_INTEGER9999;
  113. extern INTEGER Tree_ClassCount;
  114. extern BITSET Tree_GrammarClass;
  115. extern SHORTCARD Tree_MaxVisit;
  116. extern Idents_tIdent Tree_SubUnit, Tree_ViewName, Tree_iPosition, Tree_itPosition, Tree_iInteger, Tree_iMain, Tree_iModule, Tree_itTree, Tree_iNoTree;
  117. extern Strings_tString Tree_ModuleName;
  118. extern Sets_tSet Tree_TypeNames, Tree_MaxSet;
  119. #define Tree_NoTree    NIL
  120. #define Tree_Classes    1
  121. #define Tree_NoClass    2
  122. #define Tree_Class    3
  123. #define Tree_Attributes    4
  124. #define Tree_NoAttribute    5
  125. #define Tree_AttrOrAction    6
  126. #define Tree_Child    7
  127. #define Tree_Attribute    8
  128. #define Tree_ActionPart    9
  129. #define Tree_Codes    10
  130. #define Tree_Designators    11
  131. #define Tree_NoDesignator    12
  132. #define Tree_Designator    13
  133. #define Tree_Ident    14
  134. #define Tree_Remote    15
  135. #define Tree_Any    16
  136. #define Tree_Anys    17
  137. #define Tree_Layouts    18
  138. #define Tree_NoLayout    19
  139. #define Tree_LayoutAny    20
  140. #define Tree_Names    21
  141. #define Tree_NoName    22
  142. #define Tree_Name    23
  143. #define Tree_Ag    24
  144. #define Tree_Precs    25
  145. #define Tree_NoPrec    26
  146. #define Tree_Prec    27
  147. #define Tree_LeftAssoc    28
  148. #define Tree_RightAssoc    29
  149. #define Tree_NonAssoc    30
  150. #define Tree_Actions    31
  151. #define Tree_NoAction    32
  152. #define Tree_Action    33
  153. #define Tree_Assign    34
  154. #define Tree_Copy    35
  155. #define Tree_TargetCode    36
  156. #define Tree_Order    37
  157. #define Tree_Check    38
  158. #define Tree_Modules    39
  159. #define Tree_NoModule    40
  160. #define Tree_Module    41
  161. #define Tree_Props    42
  162. #define Tree_NoProp    43
  163. #define Tree_Prop    44
  164. #define Tree_Select    45
  165. #define Tree_Decls    46
  166. #define Tree_NoDecl    47
  167. #define Tree_Decl    48
  168. typedef struct Tree_56 *Tree_tTree;
  169. typedef void (*Tree_tProcTree) ARGS((Tree_tTree));
  170. typedef SHORTCARD Tree_INTEGER0;
  171. typedef BITSET Tree_tAttrProperties;
  172. typedef BITSET Tree_tClassProperties;
  173. typedef Tree_tTree Tree_tClass;
  174. typedef void (*Tree_ProcOfT) ARGS((Tree_tTree));
  175. extern Sets_tSet Tree_Options;
  176. extern IO_tFile Tree_f;
  177. extern struct Tree_4 {
  178.     CHAR A[255 + 1];
  179. } Tree_SourceFile;
  180. extern BITSET Tree_NoCodeAttr, Tree_NoCodeClass;
  181. extern void Tree_InitIdentifyClass ARGS((Tree_tTree t));
  182. extern void Tree_InitIdentifyClass2 ARGS((Tree_tTree t));
  183. extern Tree_tTree Tree_IdentifyClass ARGS((Tree_tTree t, Idents_tIdent Ident));
  184. extern Tree_tTree Tree_IdentifyAttribute ARGS((Tree_tTree t, Idents_tIdent Ident));
  185. extern void Tree_ForallClasses ARGS((Tree_tTree t, Tree_ProcOfT Proc));
  186. extern void Tree_ForallAttributes ARGS((Tree_tTree t, Tree_ProcOfT Proc));
  187. extern void Tree_Error ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  188. extern void Tree_Warning ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  189. extern void Tree_Information ARGS((INTEGER ErrorCode, Positions_tPosition Pos));
  190. extern void Tree_ErrorI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  191. extern void Tree_WarningI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  192. extern void Tree_InformationI ARGS((INTEGER ErrorCode, Positions_tPosition Pos, INTEGER iClass, ADDRESS iPtr));
  193. extern void Tree_WI ARGS((Idents_tIdent i));
  194. extern void Tree_WE ARGS((Idents_tIdent i));
  195. extern void Tree_WN ARGS((INTEGER n));
  196. typedef struct Tree_5 {
  197.     Tree_tTree Selector;
  198.     Tree_tTree Attribute;
  199.     Tree_tTree Action;
  200.     Tree_tAttrProperties Properties;
  201.     SHORTINT Order;
  202.     SHORTCARD CopyArg;
  203. } Tree_tInstance;
  204. typedef struct Tree_6 {
  205.     Tree_tInstance A[100000 - 1 + 1];
  206. } Tree_tInstances;
  207. extern Tree_tTree Tree_nNoAction, Tree_nNoAttribute, Tree_nNoClass, Tree_nNoDecl, Tree_nNoDesignator, Tree_nNoLayout, Tree_nNoModule, Tree_nNoName, Tree_nNoPrec, Tree_nNoProp;
  208. extern void Tree_BeginTree2 ARGS(());
  209. extern Tree_tTree Tree_IdentifyModule ARGS((Tree_tTree t, Idents_tIdent Ident));
  210. extern void Tree_WriteName ARGS((Tree_tInstance i));
  211. extern void Tree_WriteInstance ARGS((Tree_tInstance i));
  212. extern void Tree_WriteDependencies ARGS((Tree_tTree t, Relations_tRelation r, Sets_tSet s));
  213. extern void Tree_WriteCyclics ARGS((Tree_tTree t, Sets_tSet s));
  214. extern void Tree_WriteAttrProperties ARGS((IO_tFile f, Tree_tAttrProperties Properties));
  215. extern void Tree_WriteClassProperties ARGS((IO_tFile f, Tree_tClassProperties Properties));
  216. extern void Tree_WriteClass ARGS((Tree_tTree t));
  217. extern BOOLEAN Tree_HasItem ARGS((Tree_tTree t, SHORTCARD Item));
  218. typedef struct Tree_7 {
  219.     SHORTCARD yyKind, yyMark;
  220. } Tree_yytNodeHead;
  221. typedef struct Tree_8 {
  222.     Tree_yytNodeHead yyHead;
  223. } Tree_yClasses;
  224. typedef struct Tree_9 {
  225.     Tree_yytNodeHead yyHead;
  226. } Tree_yNoClass;
  227. typedef struct Tree_10 {
  228.     Tree_yytNodeHead yyHead;
  229.     Idents_tIdent Name;
  230.     Tree_tClassProperties Properties;
  231.     Tree_tTree Attributes;
  232.     Tree_tTree Extensions;
  233.     Tree_tTree Next;
  234.     Tree_tTree BaseClass;
  235.     Idents_tIdent Selector;
  236.     Positions_tPosition Pos;
  237.     SHORTCARD Code;
  238.     Idents_tIdent Prec;
  239.     Tree_tTree Names;
  240.     SHORTCARD AttrCount;
  241.     SHORTCARD InstCount;
  242.     Tree_tInstancePtr Instance;
  243.     Relations_tRelation DP;
  244.     Relations_tRelation SNC;
  245.     Relations_tRelation DNC;
  246.     Relations_tRelation OAG;
  247.     Relations_tRelation Part;
  248.     SHORTCARD Index;
  249.     SHORTCARD Visits;
  250.     Sets_tSet Users;
  251.     Tree_INTEGER0 Generated;
  252.     SHORTCARD BitCount;
  253.     Tree_tBitIndex BitIndex;
  254.     Tree_tSetOfRelPtr D;
  255. } Tree_yClass;
  256. typedef struct Tree_11 {
  257.     Tree_yytNodeHead yyHead;
  258. } Tree_yAttributes;
  259. typedef struct Tree_12 {
  260.     Tree_yytNodeHead yyHead;
  261. } Tree_yNoAttribute;
  262. typedef struct Tree_13 {
  263.     Tree_yytNodeHead yyHead;
  264.     Tree_tTree Next;
  265.     SHORTCARD Item;
  266. } Tree_yAttrOrAction;
  267. typedef struct Tree_14 {
  268.     Tree_yytNodeHead yyHead;
  269.     Tree_tTree Next;
  270.     SHORTCARD Item;
  271.     Idents_tIdent Name;
  272.     Idents_tIdent Type;
  273.     Tree_tAttrProperties Properties;
  274.     Positions_tPosition Pos;
  275.     SHORTCARD AttrIndex;
  276.     Tree_INTEGER9999 Partition;
  277.     BITSET Usage;
  278.     SHORTCARD InstOffset;
  279.     Tree_tClass Class;
  280.     SHORTCARD ParsIndex;
  281.     SHORTCARD BitOffset;
  282. } Tree_yChild;
  283. typedef struct Tree_15 {
  284.     Tree_yytNodeHead yyHead;
  285.     Tree_tTree Next;
  286.     SHORTCARD Item;
  287.     Idents_tIdent Name;
  288.     Idents_tIdent Type;
  289.     Tree_tAttrProperties Properties;
  290.     Positions_tPosition Pos;
  291.     SHORTCARD AttrIndex;
  292.     Tree_INTEGER9999 Partition;
  293.     BITSET Usage;
  294. } Tree_yAttribute;
  295. typedef struct Tree_16 {
  296.     Tree_yytNodeHead yyHead;
  297.     Tree_tTree Next;
  298.     SHORTCARD Item;
  299.     Tree_tTree Actions;
  300.     SHORTCARD Name;
  301.     SHORTCARD ParsIndex;
  302.     BITSET Properties;
  303. } Tree_yActionPart;
  304. typedef struct Tree_17 {
  305.     Tree_yytNodeHead yyHead;
  306.     Texts_tText Export;
  307.     Texts_tText Import;
  308.     Texts_tText Global;
  309.     Texts_tText Local;
  310.     Texts_tText Begin;
  311.     Texts_tText Close;
  312.     Positions_tPosition ExportLine;
  313.     Positions_tPosition ImportLine;
  314.     Positions_tPosition GlobalLine;
  315.     Positions_tPosition LocalLine;
  316.     Positions_tPosition BeginLine;
  317.     Positions_tPosition CloseLine;
  318. } Tree_yCodes;
  319. typedef struct Tree_18 {
  320.     Tree_yytNodeHead yyHead;
  321. } Tree_yDesignators;
  322. typedef struct Tree_19 {
  323.     Tree_yytNodeHead yyHead;
  324. } Tree_yNoDesignator;
  325. typedef struct Tree_20 {
  326.     Tree_yytNodeHead yyHead;
  327.     Idents_tIdent Selector;
  328.     Idents_tIdent Attribute;
  329.     Positions_tPosition Pos;
  330.     Tree_tTree Next;
  331. } Tree_yDesignator;
  332. typedef struct Tree_21 {
  333.     Tree_yytNodeHead yyHead;
  334.     Idents_tIdent Attribute;
  335.     Positions_tPosition Pos;
  336.     Tree_tTree Next;
  337. } Tree_yIdent;
  338. typedef struct Tree_22 {
  339.     Tree_yytNodeHead yyHead;
  340.     Tree_tTree Designators;
  341.     Idents_tIdent Type;
  342.     Idents_tIdent Attribute;
  343.     Positions_tPosition Pos;
  344.     Tree_tTree Next;
  345. } Tree_yRemote;
  346. typedef struct Tree_23 {
  347.     Tree_yytNodeHead yyHead;
  348.     StringMem_tStringRef Code;
  349.     Tree_tTree Next;
  350. } Tree_yAny;
  351. typedef struct Tree_24 {
  352.     Tree_yytNodeHead yyHead;
  353.     Tree_tTree Layouts;
  354.     Tree_tTree Next;
  355. } Tree_yAnys;
  356. typedef struct Tree_25 {
  357.     Tree_yytNodeHead yyHead;
  358. } Tree_yLayouts;
  359. typedef struct Tree_26 {
  360.     Tree_yytNodeHead yyHead;
  361. } Tree_yNoLayout;
  362. typedef struct Tree_27 {
  363.     Tree_yytNodeHead yyHead;
  364.     StringMem_tStringRef Code;
  365.     Tree_tTree Next;
  366. } Tree_yLayoutAny;
  367. typedef struct Tree_28 {
  368.     Tree_yytNodeHead yyHead;
  369. } Tree_yNames;
  370. typedef struct Tree_29 {
  371.     Tree_yytNodeHead yyHead;
  372. } Tree_yNoName;
  373. typedef struct Tree_30 {
  374.     Tree_yytNodeHead yyHead;
  375.     Idents_tIdent Name;
  376.     Positions_tPosition Pos;
  377.     Tree_tTree Next;
  378. } Tree_yName;
  379. typedef struct Tree_31 {
  380.     Tree_yytNodeHead yyHead;
  381.     Idents_tIdent Name;
  382.     Idents_tIdent ScannerName;
  383.     Idents_tIdent ParserName;
  384.     Tree_tTree ParserCodes;
  385.     Idents_tIdent TreeName;
  386.     Tree_tTree TreeCodes;
  387.     Idents_tIdent EvalName;
  388.     Tree_tTree EvalCodes;
  389.     Tree_tTree Precs;
  390.     Tree_tTree Props;
  391.     Tree_tTree Decls;
  392.     Tree_tTree Classes;
  393.     Tree_tTree Modules;
  394.     BITSET Properties;
  395. } Tree_yAg;
  396. typedef struct Tree_32 {
  397.     Tree_yytNodeHead yyHead;
  398. } Tree_yPrecs;
  399. typedef struct Tree_33 {
  400.     Tree_yytNodeHead yyHead;
  401. } Tree_yNoPrec;
  402. typedef struct Tree_34 {
  403.     Tree_yytNodeHead yyHead;
  404.     Tree_tTree Names;
  405.     Tree_tTree Next;
  406. } Tree_yPrec;
  407. typedef struct Tree_35 {
  408.     Tree_yytNodeHead yyHead;
  409.     Tree_tTree Names;
  410.     Tree_tTree Next;
  411. } Tree_yLeftAssoc;
  412. typedef struct Tree_36 {
  413.     Tree_yytNodeHead yyHead;
  414.     Tree_tTree Names;
  415.     Tree_tTree Next;
  416. } Tree_yRightAssoc;
  417. typedef struct Tree_37 {
  418.     Tree_yytNodeHead yyHead;
  419.     Tree_tTree Names;
  420.     Tree_tTree Next;
  421. } Tree_yNonAssoc;
  422. typedef struct Tree_38 {
  423.     Tree_yytNodeHead yyHead;
  424. } Tree_yActions;
  425. typedef struct Tree_39 {
  426.     Tree_yytNodeHead yyHead;
  427. } Tree_yNoAction;
  428. typedef struct Tree_40 {
  429.     Tree_yytNodeHead yyHead;
  430.     Tree_tTree Next;
  431.     Positions_tPosition Pos;
  432. } Tree_yAction;
  433. typedef struct Tree_41 {
  434.     Tree_yytNodeHead yyHead;
  435.     Tree_tTree Next;
  436.     Positions_tPosition Pos;
  437.     Tree_tTree Results;
  438.     Tree_tTree Arguments;
  439. } Tree_yAssign;
  440. typedef struct Tree_42 {
  441.     Tree_yytNodeHead yyHead;
  442.     Tree_tTree Next;
  443.     Positions_tPosition Pos;
  444.     Tree_tTree Results;
  445.     Tree_tTree Arguments;
  446. } Tree_yCopy;
  447. typedef struct Tree_43 {
  448.     Tree_yytNodeHead yyHead;
  449.     Tree_tTree Next;
  450.     Positions_tPosition Pos;
  451.     Tree_tTree Results;
  452.     Tree_tTree Code;
  453. } Tree_yTargetCode;
  454. typedef struct Tree_44 {
  455.     Tree_yytNodeHead yyHead;
  456.     Tree_tTree Next;
  457.     Positions_tPosition Pos;
  458.     Tree_tTree Results;
  459.     Tree_tTree Arguments;
  460. } Tree_yOrder;
  461. typedef struct Tree_45 {
  462.     Tree_yytNodeHead yyHead;
  463.     Tree_tTree Next;
  464.     Positions_tPosition Pos;
  465.     Tree_tTree Condition;
  466.     Tree_tTree Statement;
  467.     Tree_tTree Actions;
  468.     Tree_tTree Results;
  469. } Tree_yCheck;
  470. typedef struct Tree_46 {
  471.     Tree_yytNodeHead yyHead;
  472. } Tree_yModules;
  473. typedef struct Tree_47 {
  474.     Tree_yytNodeHead yyHead;
  475. } Tree_yNoModule;
  476. typedef struct Tree_48 {
  477.     Tree_yytNodeHead yyHead;
  478.     Idents_tIdent Name;
  479.     Tree_tTree ParserCodes;
  480.     Tree_tTree TreeCodes;
  481.     Tree_tTree EvalCodes;
  482.     Tree_tTree Props;
  483.     Tree_tTree Decls;
  484.     Tree_tTree Classes;
  485.     Tree_tTree Next;
  486.     BITSET Properties;
  487. } Tree_yModule;
  488. typedef struct Tree_49 {
  489.     Tree_yytNodeHead yyHead;
  490. } Tree_yProps;
  491. typedef struct Tree_50 {
  492.     Tree_yytNodeHead yyHead;
  493. } Tree_yNoProp;
  494. typedef struct Tree_51 {
  495.     Tree_yytNodeHead yyHead;
  496.     BITSET Properties;
  497.     Tree_tTree Names;
  498.     Tree_tTree Next;
  499. } Tree_yProp;
  500. typedef struct Tree_52 {
  501.     Tree_yytNodeHead yyHead;
  502.     Tree_tTree Names;
  503.     Tree_tTree Next;
  504. } Tree_ySelect;
  505. typedef struct Tree_53 {
  506.     Tree_yytNodeHead yyHead;
  507. } Tree_yDecls;
  508. typedef struct Tree_54 {
  509.     Tree_yytNodeHead yyHead;
  510. } Tree_yNoDecl;
  511. typedef struct Tree_55 {
  512.     Tree_yytNodeHead yyHead;
  513.     Tree_tTree Names;
  514.     Tree_tTree Attributes;
  515.     Tree_tClassProperties Properties;
  516.     Tree_tTree Next;
  517. } Tree_yDecl;
  518. typedef struct Tree_56 {
  519.     union {
  520.         struct {
  521.             SHORTCARD Kind;
  522.         } V_1;
  523.         struct {
  524.             Tree_yytNodeHead yyHead;
  525.         } V_2;
  526.         struct {
  527.             Tree_yClasses Classes;
  528.         } V_3;
  529.         struct {
  530.             Tree_yNoClass NoClass;
  531.         } V_4;
  532.         struct {
  533.             Tree_yClass Class;
  534.         } V_5;
  535.         struct {
  536.             Tree_yAttributes Attributes;
  537.         } V_6;
  538.         struct {
  539.             Tree_yNoAttribute NoAttribute;
  540.         } V_7;
  541.         struct {
  542.             Tree_yAttrOrAction AttrOrAction;
  543.         } V_8;
  544.         struct {
  545.             Tree_yChild Child;
  546.         } V_9;
  547.         struct {
  548.             Tree_yAttribute Attribute;
  549.         } V_10;
  550.         struct {
  551.             Tree_yActionPart ActionPart;
  552.         } V_11;
  553.         struct {
  554.             Tree_yCodes Codes;
  555.         } V_12;
  556.         struct {
  557.             Tree_yDesignators Designators;
  558.         } V_13;
  559.         struct {
  560.             Tree_yNoDesignator NoDesignator;
  561.         } V_14;
  562.         struct {
  563.             Tree_yDesignator Designator;
  564.         } V_15;
  565.         struct {
  566.             Tree_yIdent Ident;
  567.         } V_16;
  568.         struct {
  569.             Tree_yRemote Remote;
  570.         } V_17;
  571.         struct {
  572.             Tree_yAny Any;
  573.         } V_18;
  574.         struct {
  575.             Tree_yAnys Anys;
  576.         } V_19;
  577.         struct {
  578.             Tree_yLayouts Layouts;
  579.         } V_20;
  580.         struct {
  581.             Tree_yNoLayout NoLayout;
  582.         } V_21;
  583.         struct {
  584.             Tree_yLayoutAny LayoutAny;
  585.         } V_22;
  586.         struct {
  587.             Tree_yNames Names;
  588.         } V_23;
  589.         struct {
  590.             Tree_yNoName NoName;
  591.         } V_24;
  592.         struct {
  593.             Tree_yName Name;
  594.         } V_25;
  595.         struct {
  596.             Tree_yAg Ag;
  597.         } V_26;
  598.         struct {
  599.             Tree_yPrecs Precs;
  600.         } V_27;
  601.         struct {
  602.             Tree_yNoPrec NoPrec;
  603.         } V_28;
  604.         struct {
  605.             Tree_yPrec Prec;
  606.         } V_29;
  607.         struct {
  608.             Tree_yLeftAssoc LeftAssoc;
  609.         } V_30;
  610.         struct {
  611.             Tree_yRightAssoc RightAssoc;
  612.         } V_31;
  613.         struct {
  614.             Tree_yNonAssoc NonAssoc;
  615.         } V_32;
  616.         struct {
  617.             Tree_yActions Actions;
  618.         } V_33;
  619.         struct {
  620.             Tree_yNoAction NoAction;
  621.         } V_34;
  622.         struct {
  623.             Tree_yAction Action;
  624.         } V_35;
  625.         struct {
  626.             Tree_yAssign Assign;
  627.         } V_36;
  628.         struct {
  629.             Tree_yCopy Copy;
  630.         } V_37;
  631.         struct {
  632.             Tree_yTargetCode TargetCode;
  633.         } V_38;
  634.         struct {
  635.             Tree_yOrder Order;
  636.         } V_39;
  637.         struct {
  638.             Tree_yCheck Check;
  639.         } V_40;
  640.         struct {
  641.             Tree_yModules Modules;
  642.         } V_41;
  643.         struct {
  644.             Tree_yNoModule NoModule;
  645.         } V_42;
  646.         struct {
  647.             Tree_yModule Module;
  648.         } V_43;
  649.         struct {
  650.             Tree_yProps Props;
  651.         } V_44;
  652.         struct {
  653.             Tree_yNoProp NoProp;
  654.         } V_45;
  655.         struct {
  656.             Tree_yProp Prop;
  657.         } V_46;
  658.         struct {
  659.             Tree_ySelect Select;
  660.         } V_47;
  661.         struct {
  662.             Tree_yDecls Decls;
  663.         } V_48;
  664.         struct {
  665.             Tree_yNoDecl NoDecl;
  666.         } V_49;
  667.         struct {
  668.             Tree_yDecl Decl;
  669.         } V_50;
  670.     } U_1;
  671. } Tree_yyNode;
  672. extern Tree_tTree Tree_TreeRoot;
  673. extern LONGCARD Tree_HeapUsed;
  674. extern ADDRESS Tree_yyPoolFreePtr, Tree_yyPoolMaxPtr;
  675. extern struct Tree_57 {
  676.     SHORTCARD A[129 + 1];
  677. } Tree_yyNodeSize;
  678. extern PROC Tree_yyExit;
  679. extern Tree_tTree Tree_yyAlloc ARGS(());
  680. extern Tree_tTree Tree_MakeTree ARGS((SHORTCARD Kind));
  681. extern BOOLEAN Tree_IsType ARGS((Tree_tTree Tree, SHORTCARD Kind));
  682. extern Tree_tTree Tree_mClasses ARGS(());
  683. extern Tree_tTree Tree_mNoClass ARGS(());
  684. extern Tree_tTree Tree_mClass ARGS((Idents_tIdent pName, Tree_tClassProperties pProperties, Tree_tTree pAttributes, Tree_tTree pExtensions, Tree_tTree pNext, Idents_tIdent pSelector, Positions_tPosition pPos, SHORTCARD pCode, Idents_tIdent pPrec, Tree_tTree pNames));
  685. extern Tree_tTree Tree_mAttributes ARGS(());
  686. extern Tree_tTree Tree_mNoAttribute ARGS(());
  687. extern Tree_tTree Tree_mAttrOrAction ARGS((Tree_tTree pNext));
  688. extern Tree_tTree Tree_mChild ARGS((Tree_tTree pNext, Idents_tIdent pName, Idents_tIdent pType, Tree_tAttrProperties pProperties, Positions_tPosition pPos));
  689. extern Tree_tTree Tree_mAttribute ARGS((Tree_tTree pNext, Idents_tIdent pName, Idents_tIdent pType, Tree_tAttrProperties pProperties, Positions_tPosition pPos));
  690. extern Tree_tTree Tree_mActionPart ARGS((Tree_tTree pNext, Tree_tTree pActions));
  691. extern Tree_tTree Tree_mCodes ARGS((Texts_tText pExport, Texts_tText pImport, Texts_tText pGlobal, Texts_tText pLocal, Texts_tText pBegin, Texts_tText pClose, Positions_tPosition pExportLine, Positions_tPosition pImportLine, Positions_tPosition pGlobalLine, Positions_tPosition pLocalLine, Positions_tPosition pBeginLine, Positions_tPosition pCloseLine));
  692. extern Tree_tTree Tree_mDesignators ARGS(());
  693. extern Tree_tTree Tree_mNoDesignator ARGS(());
  694. extern Tree_tTree Tree_mDesignator ARGS((Idents_tIdent pSelector, Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  695. extern Tree_tTree Tree_mIdent ARGS((Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  696. extern Tree_tTree Tree_mRemote ARGS((Tree_tTree pDesignators, Idents_tIdent pType, Idents_tIdent pAttribute, Positions_tPosition pPos, Tree_tTree pNext));
  697. extern Tree_tTree Tree_mAny ARGS((StringMem_tStringRef pCode, Tree_tTree pNext));
  698. extern Tree_tTree Tree_mAnys ARGS((Tree_tTree pLayouts, Tree_tTree pNext));
  699. extern Tree_tTree Tree_mLayouts ARGS(());
  700. extern Tree_tTree Tree_mNoLayout ARGS(());
  701. extern Tree_tTree Tree_mLayoutAny ARGS((StringMem_tStringRef pCode, Tree_tTree pNext));
  702. extern Tree_tTree Tree_mNames ARGS(());
  703. extern Tree_tTree Tree_mNoName ARGS(());
  704. extern Tree_tTree Tree_mName ARGS((Idents_tIdent pName, Positions_tPosition pPos, Tree_tTree pNext));
  705. extern Tree_tTree Tree_mAg ARGS((Idents_tIdent pName, Idents_tIdent pScannerName, Idents_tIdent pParserName, Tree_tTree pParserCodes, Idents_tIdent pTreeName, Tree_tTree pTreeCodes, Idents_tIdent pEvalName, Tree_tTree pEvalCodes, Tree_tTree pPrecs, Tree_tTree pProps, Tree_tTree pDecls, Tree_tTree pClasses, Tree_tTree pModules));
  706. extern Tree_tTree Tree_mPrecs ARGS(());
  707. extern Tree_tTree Tree_mNoPrec ARGS(());
  708. extern Tree_tTree Tree_mPrec ARGS((Tree_tTree pNames, Tree_tTree pNext));
  709. extern Tree_tTree Tree_mLeftAssoc ARGS((Tree_tTree pNames, Tree_tTree pNext));
  710. extern Tree_tTree Tree_mRightAssoc ARGS((Tree_tTree pNames, Tree_tTree pNext));
  711. extern Tree_tTree Tree_mNonAssoc ARGS((Tree_tTree pNames, Tree_tTree pNext));
  712. extern Tree_tTree Tree_mActions ARGS(());
  713. extern Tree_tTree Tree_mNoAction ARGS(());
  714. extern Tree_tTree Tree_mAction ARGS((Tree_tTree pNext, Positions_tPosition pPos));
  715. extern Tree_tTree Tree_mAssign ARGS((Tree_tTree pNext, Positions_tPosition pPos, Tree_tTree pResults, Tree_tTree pArguments));
  716. extern Tree_tTree Tree_mCopy ARGS((Tree_tTree pNext, Positions_tPosition pPos, Tree_tTree pResults, Tree_tTree pArguments));
  717. extern Tree_tTree Tree_mTargetCode ARGS((Tree_tTree pNext, Positions_tPosition pPos, Tree_tTree pResults, Tree_tTree pCode));
  718. extern Tree_tTree Tree_mOrder ARGS((Tree_tTree pNext, Positions_tPosition pPos, Tree_tTree pResults, Tree_tTree pArguments));
  719. extern Tree_tTree Tree_mCheck ARGS((Tree_tTree pNext, Positions_tPosition pPos, Tree_tTree pCondition, Tree_tTree pStatement, Tree_tTree pActions));
  720. extern Tree_tTree Tree_mModules ARGS(());
  721. extern Tree_tTree Tree_mNoModule ARGS(());
  722. extern Tree_tTree Tree_mModule ARGS((Idents_tIdent pName, Tree_tTree pParserCodes, Tree_tTree pTreeCodes, Tree_tTree pEvalCodes, Tree_tTree pProps, Tree_tTree pDecls, Tree_tTree pClasses, Tree_tTree pNext));
  723. extern Tree_tTree Tree_mProps ARGS(());
  724. extern Tree_tTree Tree_mNoProp ARGS(());
  725. extern Tree_tTree Tree_mProp ARGS((BITSET pProperties, Tree_tTree pNames, Tree_tTree pNext));
  726. extern Tree_tTree Tree_mSelect ARGS((Tree_tTree pNames, Tree_tTree pNext));
  727. extern Tree_tTree Tree_mDecls ARGS(());
  728. extern Tree_tTree Tree_mNoDecl ARGS(());
  729. extern Tree_tTree Tree_mDecl ARGS((Tree_tTree pNames, Tree_tTree pAttributes, Tree_tClassProperties pProperties, Tree_tTree pNext));
  730. extern void Tree_WriteTreeNode ARGS((IO_tFile f, Tree_tTree Tree));
  731. extern Tree_tTree Tree_ReverseTree ARGS((Tree_tTree Tree));
  732. extern void Tree_QueryTree ARGS((Tree_tTree Tree));
  733. extern void Tree_BeginTree ARGS(());
  734. extern void Tree_CloseTree ARGS(());
  735. extern void BEGIN_Tree();
  736.